<?php
class Api_Model_Porosidad extends App_Model {
    private $_name = 'Porosidad_Sinter';
    
    public function __construct() {
		parent::__construct();
	}

    public function getPorosidades($porosidades=NULL, $fetchMode=PDO::FETCH_OBJ) {
            $sql = <<<SQL
                SELECT 
                    * 
                FROM 
                    $this->_name P 
SQL;

		if (is_array($porosidades)) {
            $sql .= ' WHERE Id IN (' . implode(',', $porosidades) . ') ';
        }

        return $this->_conn->query($sql)
            ->fetchAll($fetchMode);
	}
    
    public function getPorosidad($id, $fetchMode=PDO::FETCH_OBJ) {
        $sql = <<<SQL
			SELECT 
				*
			FROM 
				$this->_name P
            WHERE
                id = ?
SQL;

		$stmt = $this->_conn->prepare($sql);
        $stmt->execute(array($id));

        if (FALSE === $stmt) {
            return $stmt;
        }

        return $stmt->fetch($fetchMode);
	}
    
    public function addPorosidad($porosidad) {
        // Denegar accion por edicion
        if (FALSE === EDITABLE) {
            return FALSE;
        }

        $sql = <<<SQL
            INSERT INTO $this->_name  
                (
                [Fecha], 
                [Turno], 
                [Identificacion], 
                [A], 
                [B], 
                [C], 
                [W],
                [W_],
                [X], 
                [GEA], 
                [GEV], 
                [Porosidad]
                ) 
            VALUES (
                ?, 
                ?,
                ?,
                ?,
                ?,
                ?,
                ?,
                ?,
                ?,
                ?,
                ?,
                ?
            )
SQL;

        // Insertar porosidad
		return $this->_conn->prepare($sql)
            ->execute(array(
                date('d/m/Y', strtotime($porosidad['Fecha'])), 
                $porosidad['Turno'], 
                $porosidad['Identificacion'], 
                $porosidad['A'], 
                $porosidad['B'], 
                $porosidad['C'], 
                $porosidad['W'],
                $porosidad['W_'],
                $porosidad['X'], 
                $porosidad['GEA'], 
                $porosidad['GEV'], 
                $porosidad['Porosidad']
            ));
    }

    public function editPorosidad($id, $porosidad) {
        // Denegar accion por edicion
        if (FALSE === EDITABLE) {
            return FALSE;
        }

        $sql = <<<SQL
            UPDATE $this->_name
                SET 
                    Fecha               = ?,
                    Turno               = ?,
                    Identificacion      = ?,
                    A                   = ?,
                    B                   = ?,
                    C                   = ?,
                    W                   = ?,
                    X                   = ?,
                    GEA                 = ?,
                    W_                  = ?,
                    GEV                 = ?,
                    Porosidad           = ?
            WHERE 
                Id = ?
SQL;

        // Actualizar porosidad
		return $this->_conn->
            prepare($sql)
            ->execute(array(
                date('d/m/Y', strtotime($porosidad['Fecha'])),
                $porosidad['Turno'],
                $porosidad['Identificacion'],
                $porosidad['A'],
                $porosidad['B'],
                $porosidad['C'],
                $porosidad['W'],
                $porosidad['X'],
                $porosidad['GEA'],
                $porosidad['W_'],
                $porosidad['GEV'],
                $porosidad['Porosidad'],
                $id
            ));
    }
}
